/**
 * 标签表单配置
 * 定义文章标签的表单字段配置和默认值
 */

/**
 * 标签表单字段配置
 * 配置表单字段的类型、验证规则等
 * 
 * @typedef {Object} FormField
 * @property {string} field - 字段名称
 * @property {string} label - 表单项标签
 * @property {string} component - 使用的表单组件类型
 * @property {string} [placeholder] - 占位文本
 * @property {Object} [props] - 组件属性配置
 * @property {boolean} [editDisabled] - 编辑时是否禁用
 * @property {Array} [options] - 选项数据(用于Select/Radio等)
 * @property {Array} [rules] - 验证规则
 * @property {*} [defaultValue] - 默认值
 */

/**
 * 标签表单字段配置
 * @type {FormField[]}
 */
export const formConfig = [
  {
    field: 'name',
    label: '标签名称',
    component: 'Input',
    placeholder: '请输入标签名称',
    rules: [
      { required: true, message: '请输入标签名称', trigger: 'blur' },
      { min: 2, max: 20, message: '长度在 2 到 20 个字符', trigger: 'blur' }
    ]
  },
  {
    field: 'description',
    label: '备注',
    component: 'Input',
    placeholder: '请输入备注',
    props: {
      type: 'textarea',
      rows: 3
    }
  },
  {
    field: 'status',
    label: '状态',
    component: 'Radio',
    defaultValue: '1',
    props: {
      value: '1'
    },
    options: [
      { label: '启用', value: '1' },
      { label: '禁用', value: '0' }
    ],
    rules: [
      { required: true, message: '请选择状态', trigger: 'change' }
    ]
  }
]

/**
 * 获取表单默认值
 * 返回表单的初始值对象
 * 
 * @returns {Object} 包含所有表单字段的默认值对象
 */
export const getDefaultFormData = () => {
  return {
    id: '',           // 标签ID，新增时为空
    name: '',         // 标签名称
    description: '',  // 标签描述
    status: '1'       // 标签状态，默认启用
  }
} 